"""使用Pandas找到“超市营业额2.xlsx”中的缺失值，用：（1）缺失值所在的用户的交易额均值替换缺失值；（2）使用整体均值的80%填充缺失值"""
import pandas as pd

# 设置列对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

# 读取全部数据，使用默认索引
df = pd.read_excel(r'resources\超市营业额2.xlsx')

# 打印包含缺失值的数据
print('包含缺失值的数据'.center(30, '='))
for i in df[df['交易额'].isnull()].index:
    print(df.loc[i], end='\n\n')

# 用：（1）缺失值所在的用户的交易额均值替换缺失值,修改后的数据保存为文件'超市营业额2_交易额缺失值调整结果_1.xlsx'
for i in df[df['交易额'].isnull()].index:
    df.loc[i, '交易额'] = df.loc[df['姓名'] == df.loc[i, '姓名'], '交易额'].mean()
df.to_excel(r'resources\超市营业额2_交易额缺失值调整结果_1.xlsx', index=False)
print('成功使用第一种方案，将修改后的数据保存为文件 超市营业额2_交易额缺失值调整结果_1.xlsx ！')

# 用：（2）使用整体均值的80%填充缺失值，修改后的数据保存为文件'超市营业额2_交易额缺失值调整结果_2.xlsx'
for i in df[df['交易额'].isnull()].index:
    df.loc[i, '交易额'] = df['交易额'].mean() * 0.8
df.to_excel(r'resources\超市营业额2_交易额缺失值调整结果_2.xlsx', index=False)
print('成功使用第二种方案，将修改后的数据保存为文件 超市营业额2_交易额缺失值调整结果_2.xlsx ！')

